-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(workflows): add helper and workflow to keep keystone and nautobot in sync #242
Conversation
I'm really not a fan of my approach with the tests. Maybe even the whole thing. Would be happy for some feedback on changes. @rackerlabs/understack-dev |
The requests-mock might not be catching all HTTP calls because it feels slow. |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
|
29045c2
to
ba2905e
Compare
So need some ideas on how to better check the workflow template against the schema. Otherwise I think this will work. |
1e888dd
to
54c91a4
Compare
0e9ba93
to
3772008
Compare
apps/understack-workflows/eventsource-openstack/sensor-keystone-event-project.yaml
Outdated
Show resolved
Hide resolved
python/understack-workflows/understack_workflows/main/sync_keystone.py
Outdated
Show resolved
Hide resolved
3772008
to
48c60cb
Compare
Be able to use this for testing.
Added a helper script to sync keystone domains to nautobot tenant groups and keystone projects to nautobot tenants.
This doesn't change any code or the actual service account that is being used but it defines it in a way that can be consumed by external secrets and sets the pathway for us to generate this in the future. We'd need either an operator to action on the service account secrets to keystone or some other way to keep them in sync.
Added an EventSource listener for keystone notifications. Added a Sensor to trigger a workflow to be run when projects are created, updated or deleted in keystone. Added a workflow to execute the keystone sync script on each of those triggers.
48c60cb
to
431e8b6
Compare
Adds a helper and a workflow to keep keystone and nautobot in sync. The workflow uses the
argoworkflow
service account to add, update, and delete tenant's from Nautobot based on the same operations happening in keystone.